A computer network is a collection of interconnected computing devices that can exchange data and share resources. Example network devices include layer two devices that operate within the second layer (L2) of the Open Systems Interconnection (OSI) reference model, i.e., the data link layer, and layer three devices that operate within the third layer (L3) of the OSI reference model, i.e., the network layer. Network devices within computer networks often include a control unit that provides control plane functionality for the network device and forwarding components for routing or switching data units.
An Ethernet Virtual Private Network (EVPN) may be used to extend two or more remote layer two (L2) customer networks through an intermediate layer three (L3) network (usually referred to as a provider network), in a transparent manner, i.e., as if the intermediate L3 network does not exist. In particular, the EVPN transports L2 communications, such as Ethernet packets or “frames,” between customer networks via the intermediate network. In a typical configuration, provider edge (PE) network devices (e.g., routers and/or switches) coupled to the customer edge (CE) network devices of the customer networks define label switched paths (LSPs) (also referred to as pseudowires) within the provider network to carry encapsulated L2 communications as if these customer networks were directly attached to the same local area network (LAN). In some configurations, the PE network devices may also be connected by Internet Protocol (IP) infrastructure in which case IP/Generic Routing Encapsulation (GRE) tunneling or other IP tunneling can be used between the network devices.
EVPN may be combined with Provider Backbone Bridging (PBB) defined in accordance with IEEE standard 802.1ah. PBB defines an architecture and bridging protocols in which a Provider Backbone Bridged Network (PBBN) provides L2 connectivity between multiple provider bridge networks (PBNs) of one or more different network service providers. Such large area L2 network connectivity is being deployed, for example, in metropolitan area networks. Each PBN provides one or more service virtual LANs (“S-VLANS) to service and isolate L2 traffic from customer networks. Access switches for the PBBN typically include a set of Backbone Edge Bridges (BEBs) that interconnect some or all of the S-VLANs supported by multiple PBNs. Each BEB provides interfaces that further encapsulate L2 frames for transport through the PBBN. The VLANs used to encapsulate L2 frames from the PBNs and transport the L2 traffic through the PBBN are known as backbone VLANs (B-VLANs), and the resources that support those VLANs are usually considered to be part of the PBBN. In this way, the PBBN may be referred to as a Virtual Bridged Local Area Network under the administrative control of a backbone provider. PBB-EVPN combines functionality of an EVPN and PBB BEB bridge, such that Multi-Protocol Label Switching (MPLS) LSPs defined in an EVPN are mapped to PBB encapsulated traffic.
In EVPN, a customer Media Access Control (C-MAC) address learned by one of the PE routers is advertised in BGP to all other PE routers in that EVPN instance. Thus, all the PE network devices within the EVPN are exposed to, and must store, all the C-MAC addresses learned by any one of these PE network devices. This is the case even if some of the PE routers for that EVPN instance are not involved in forwarding traffic to, or from, these C-MAC addresses. Even if an implementation does not install hardware forwarding entries for C-MAC addresses that are not part of active traffic flows on that PE, the device memory is still consumed by keeping record of the C-MAC addresses in the routing table (RIB). In network applications with millions of C-MAC addresses, this introduces a non-trivial waste of PE resources. As such, Provider Backbone Bridging (PBB)-EVPN was introduced to confine the scope of visibility of C-MAC addresses only to those PE routers that are actively involved in forwarding traffic to, or from, these addresses.
In PBB-EVPN, IEEE Backbone Edge Bridge (BEB) functionality is incorporated into the EVPN PE routers. MAC tunneling (MAC-in-MAC) is employed to improve service instance and MAC address scalability in Ethernet. Using PBB's MAC-in-MAC encapsulation, PBB-EVPN separates customer MAC addresses (C-MACs) from backbone MAC addresses (B-MACs). In contrast to E-VPN, PE network devices in a PBB-EVPN use the Border Gateway Protocol (BGP) to advertise B-MAC reachability, but still use data-plane learning for remote C-MAC to remote B-MAC binding. Thus, in a PBB-EVPN, a PE network device receives Ethernet frames from a CE network device, encapsulates them in a PBB header containing one or more B-MAC addresses, and forwards the frames over an IP/MPLS core. On the egress EVPN PE network device, the PBB header is removed following the MPLS disposition, and the original Ethernet frame is delivered to the destination CE network device. As a result, the number of MAC addresses stored by each PE router may be reduced to the number C-MAC address directly connected to the PE routers of one Ethernet Segment. This number is typically much smaller than the number of C-MAC addresses that each PE router in an EVPN must store. Additional examples of PBB-EVPN implementation is described within “Provider Backbone Bridging Combined with Ethernet VPN (PBB-EVPN),” RFC7623, Internet Engineering Task Force (IETF), September, 2015, the entire contents of which is incorporated herein by reference.
In an EVPN configuration referred to as all-active mode, an Ethernet segment includes multiple PE network devices that provide multi-homed connectivity for a first customer network that includes one or more local customer devices. However, where a first PE of the multiple PE network devices is single-homed to a second customer network and at least a second PE is remote from the second customer network, inefficiencies may arise. Because the second PE router is remote from the second customer network, it may never learn C-MAC addresses for customer devices on the second customer network. Thus, it must issue Broadcast, Unknown Unicast, and Multicast (BUM) traffic to every device on the network to forward any messages received that are destined for customer devices on the second customer network. This occurs even if the customer device is reachable from the first PE router on the same Ethernet segment.